home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / clang / mcomm551.zip / ANSIDRV.H < prev    next >
C/C++ Source or Header  |  1991-07-14  |  6KB  |  127 lines

  1.  
  2. /****************************************************************************
  3.  ANSIDRV.H -- FUNCTION DECLARATIONS AND MACROS FOR ANSI DISPLAY ROUTINES
  4.    Mike Dumdei,  6 Holly Lane,  Texarkana TX  75503    (c) 1989,90,91
  5. ****************************************************************************/
  6.  
  7. #ifndef MCOMM
  8.   #define _C_ cdecl
  9.   #define _V_ volatile
  10.   #define _F_ far
  11.   #if (__TURBOC__ && __HUGE__)
  12.     #define _N_
  13.   #else
  14.     #define _N_ near
  15.   #endif
  16.   #define MCOMM
  17. #endif
  18.  
  19. /* * COMPATIBILITY WITH ANSI8MSC MACRO DUE TO d_strnat FUNCTION CHANGE * */
  20. #define d_strnat(r,c,ch,atr,n)  d_nchat((r),(c),(ch),(atr),(n),1)
  21. #define HORZ    1
  22. #define VERT    0            /* defines for direction for d_nchat function */
  23.  
  24. #define SCRBUF(r, c) (16 + (2 * (r) * (c))) /* storage for a pushed screen */
  25.  
  26. /* * MACROS TO DEFINE CURRENT WINDOW (startup value is 0,0,24,79) * */
  27. #define SETWND(t,l,b,r) v_wndsz = 16777216L*(t) + 65536L*(l) + 256L*(b) + (r)
  28. #define SETTOPLFT(t,l)  v_toplft = 256*(t) + (l)
  29. #define SETBTMRGT(b,r)  v_btmrgt = 256*(b) + (r)
  30. /* * MACROS TO DEFINE ENTIRE SCREEN (startup value is 0,0,24,79) * */
  31. #define SETsWND(t,l,b,r) vs_wndsz = 16777216L*(t) + 65536L*(l) + 256L*(b) + (r)
  32. #define SETsTOPLFT(t,l)  vs_toplft = 256*(t) + (l)
  33. #define SETsBTMRGT(b,r)  vs_btmrgt = 256*(b) + (r)
  34.  
  35. #ifdef __TURBOC__
  36.   #ifdef __HUGE__
  37.     #undef _N_
  38.     #define _N_
  39.   #endif
  40. #endif
  41.  
  42. /* * GLOBAL VIDEO VARIABLES DECLARED IN THE 'INITVID' FUNCTION * */
  43. extern int _N_ v_struct;              /* pointer to global video variables */
  44. extern int _N_ v_seg;                   /* seg address of video ram memory */
  45. extern char _N_ v_mode;                              /* current video mode */
  46. extern char _N_ v_page;                              /* current video page */
  47. extern unsigned long _N_ v_wndsz;  /* current window dimensions (TLBR hex) */
  48. extern unsigned int _N_ v_btmrgt;              /* current window btm right */
  49. extern unsigned char _N_ v_rgt;         /* current window rightmost column */
  50. extern unsigned char _N_ v_btm;                  /* current window btm row */
  51. extern unsigned int _N_ v_toplft;               /* current window top left */
  52. extern unsigned char _N_ v_lft;          /* current window leftmost column */
  53. extern unsigned char _N_ v_top;                  /* current window top row */
  54. extern unsigned long _N_ vs_wndsz;     /* max dimensions for entire screen */
  55. extern unsigned int _N_ vs_btmrgt;               /* max btm right position */
  56. extern unsigned int _N_ vs_toplft;                /* max top left position */
  57. extern char _N_ v_scrlm;          /* scroll mode (1=scroll, 0=cursor wrap) */
  58. extern char _N_ v_cntrlm;        /* control mode (1=exec cntrls, 0=dsplay) */
  59. extern char _N_ v_textm;         /* text mode (1= \n == \n\r, 0= \n == \n) */
  60. extern char _N_ v_ansi;           /* ansi mode (1=use ANSI, 0=see garbage) */
  61. extern char _N_ v_color;      /* current atrib to use when displying chars */
  62. extern char _N_ v_snow;        /* snow flag (1=wait for retrace, 0=no wait */
  63. extern char _N_ v_bios;         /* bios flag (1=use BIOS, 0=direct writes) */
  64. extern char _N_ v_ansiseq;       /* flag showing ANSI sequence in progress */
  65. extern char _N_ v_wrel;    /* winfunc locs relative to window upr/lft if 1 */
  66. extern char _N_ vs_wrel;  /* scrnfunc locs relative to window upr/lft if 1 */
  67. extern char _N_ v_cga;                 /* set to 1 if CGA adaptor detected */
  68. extern char _N_ v_bksp;           /* 1=destructive bksp, 0=non-destructive */
  69.  
  70. #ifdef __TURBOC__
  71.   #ifdef __HUGE__
  72.     #undef _N_
  73.     #define _N_ near
  74.   #endif
  75. #endif
  76.  
  77. #if __cplusplus
  78.   extern "C" {
  79. #endif
  80.  
  81. /* *  FUNCTION DECLARATIONS  * */
  82. int _C_ initvid(void);                                 /* initialize video */
  83. void _C_ loc(int r, int c);                        /* locate cursor at r,c */
  84. void _C_ d_strat(int r, int c, char *str);        /* display string at r,c */
  85. void _C_ d_str(char *str);                        /* disp string at curpos */
  86. void _C_ d_chat(int r, int c, char ch);                /* disp char at r,c */
  87. void _C_ d_ch(char ch);                             /* disp char at curpos */
  88. void _C_ d_msgat(int r, int c, int atrb, char *str);    /* disp msg at r,c */
  89. void _C_ d_atrbat(int r, int c, int atrb, int n);   /* disp atrb,nlocs,r,c */
  90. void _C_ d_nchat(int, int, char, int, int, int);      /* r,c,ch,atrb,n,dir */
  91. int _C_ rd_scrn(void);                         /* read atrb/char at curpos */
  92. int _C_ cls(void);                                         /* clear window */
  93. void _C_ scrlup(int n);                                /* scroll up n rows */
  94. void _C_ scrldn(int n);                              /* scroll down n rows */
  95. void _C_ setcurloc(int);                   /* set cur loc, hibyt=r,lobyt=c */
  96. int _C_ getcurloc(void);                  /* get cur loc, hibyt=r, lobyt=c */
  97. void _C_ setcursiz(int);                               /* set cursor shape */
  98. int _C_ getcursiz(void);                               /* get cursor shape */
  99. void _C_ setvmode(int);                                  /* set video mode */
  100. int _C_ getvmode(void);                                  /* get video mode */
  101. void _C_ setvpage(int);                                  /* set video page */
  102. int _C_ getvpage(void);                                  /* get video page */
  103. void _C_ setvbordr(int);                               /* set video border */
  104.  /*
  105.   *  Functions formerly declared in EXTRA.H.  They were move here
  106.   *  to get all the video related variables in one header file.
  107.   */
  108. void _C_ moveblk(int row, int col, int nrows, int ncols, char *buf, int dir);
  109. void _C_ pu_scrnd(int r, int c, int nrows, int ncols, char *buf);
  110. void _C_ po_scrnd(char *buf);
  111. int _C_ pushscrn(int r, int c, int nrows, int ncols);
  112. int _C_ popscrn(void);
  113. void _C_ fpu_scrnd(int r, int c, int nrows, int ncols, char _F_ *buf);
  114. void _C_ fpo_scrnd(char _F_ *buf);
  115. int _C_ fpushscrn(int r, int c, int nrows, int ncols);
  116. int _C_ fpopscrn(void);
  117. void _C_ d_msgatd(int r, int c, int atrb, char *str);
  118. void _C_ scrlupat(int top, int lft, int btm, int rgt, int nrows);
  119. void _C_ scrldnat(int top, int lft, int btm, int rgt, int nrows);
  120. void _C_ d_scrd(int r, int c, char *scrn);
  121. char * _C_ rd_scrnd(int r, int c, int nbytes, char *buffer);
  122.  
  123. #ifdef __cplusplus
  124.   }
  125. #endif
  126.  
  127.